<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:p="http://primefaces.prime.com.tr/ui"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">
    <h:head>
        <title>Listado de apadrinados</title>        
        <link href="recursos/general.css" rel="stylesheet" type="text/css" />
        <script type="text/javascript">
            function crearMensaje(xhr, status, args){
                if(args.apadrinadoOK){
                    msgModif.show();
                    apadrinadoDialog.hide();
                }else if(args.noEditado){
                    msgNoModif.show();
                    apadrinadoDialog.hide();
                }else if(args.apadrinadoBorradoOK){
                    msgBorrado.show();
                    cd.hide();
                }else if(args.noBorrado){
                    msgNoBorradof.show();
                    cd.hide();
                }else if(args.faltanDatos){
                    faltanDatos.show();
                }else if(args.consultar){
                    apadrinadoDialog.hide();
                }
            }
        </script>
    </h:head>
    <h:body>
        <h:form id="form">
            
            <!--Nos mostrará el título de la página -->
            <h:outputText value="#{listado_Apadrinado.titulo}" styleClass="textoTitulo"/>
             
            <!--Tabla donde se mostrarán los datos referentes a los apadrinados -->
            <p:dataTable id="panel" value="#{listado_Apadrinado.apadrinados}" var="apadrinado" paginator="true"  rows="30"
                         paginatorPosition="bottom" emptyMessage="No se han encontrado apadrinados" style="margin-top: 10px;">
                <p:column filterBy="#{apadrinado.nombre}" filterMatchMode="contains" style="width: 15%; ">
                    <f:facet name="header">
                        <h:outputText value="Nombre"/>
                    </f:facet>
                    <h:outputText value="#{apadrinado.nombre}"/> 
                </p:column>
                <p:column style="width: 25%;">
                    <f:facet name="header">
                        <h:outputText value="Apellidos"/>
                    </f:facet>
                    <h:outputText value="#{apadrinado.apellidos}"/> 
                </p:column>
                <p:column style="width: 10%;">
                    <f:facet name="header">
                        <h:outputText value="Fecha nacimiento"/>
                    </f:facet>
                    <h:outputText value="#{apadrinado.fechaNacimiento}">
                        <f:convertDateTime pattern="dd/MM/yyyy"/>
                    </h:outputText>
                </p:column>
                <p:column sortBy="#{apadrinado.proyecto.nombre}" style="width: 15%;" >
                    <f:facet name="header">
                        <h:outputText value="Nombre proyecto"/>
                    </f:facet>
                    <h:outputText value="#{apadrinado.proyecto.nombre}" /> 
                </p:column>
                <p:column filterBy="#{apadrinado.personaDNI.dni!=null?apadrinado.personaDNI.dni:'No Asignado'}" filterMatchMode="contains" style="width: 15%;">
                    <f:facet name="header">
                        <h:outputText value="Dni padrino"/>
                    </f:facet>
                    <h:outputText value="#{apadrinado.personaDNI.dni!=null?apadrinado.personaDNI.dni:'No Asignado'}" />
                </p:column>                
                <p:column style="width: 15%;">
                    <f:facet name="header">
                        <h:outputText value="Opciones"/>
                    </f:facet>
                    <p:commandButton update="dialogo,form:display" oncomplete="apadrinadoDialog.show()" action="#{listado_Apadrinado.consultar}"
                                     image="ui-icon ui-icon-search" title="Consultar">
                        <f:setPropertyActionListener value="#{apadrinado}" target="#{listado_Apadrinado.apadrinado}" />
                    </p:commandButton>
                    <p:commandButton update="dialogo,form:display" oncomplete="apadrinadoDialog.show()" action="#{listado_Apadrinado.editar}"
                                     image="ui-icon ui-icon-pencil" title="Editar">
                        <f:setPropertyActionListener value="#{apadrinado}" target="#{listado_Apadrinado.apadrinado}" />
                    </p:commandButton>
                    <p:commandButton update="aviso" oncomplete="cd.show()" image="ui-icon ui-icon-closethick" title="Borrar">
                        <f:setPropertyActionListener value="#{apadrinado}" target="#{listado_Apadrinado.apadrinado}" />
                    </p:commandButton>
                </p:column>
            </p:dataTable>

            <p:commandButton value="Exportar" styleClass="botonGrande" style="margin-top: 10px;" onclick="exportarDialog.show();"/>
            <p:dialog widgetVar="exportarDialog" header="Exportar datos" styleClass="dialogoNormal" modal="true" resizable="false" width="180">
                <!--Panel que permite exportar el contenido de la tabla a pdf o xls -->
                <h:panelGrid columns="2">
                    <h:commandLink  onclick="exportarDialog.hide();">
                        <p:graphicImage value="/imagenes/pdf.jpg" height="80px" width="60px"/>  
                        <p:dataExporter type="pdf" target="panel" fileName="Listado_Apadrinados" excludeColumns="5"/>
                    </h:commandLink>
                    <h:commandLink>
                        <p:graphicImage value="/imagenes/xls.jpg" height="90px" width="90px"/>
                        <p:dataExporter type="xls" target="panel" fileName="Listado_Apadrinados" excludeColumns="5"/>
                    </h:commandLink>
                </h:panelGrid>
            </p:dialog>

            <!--Dialogo que mostrará los datos de un apadrinado seleccionado -->
            <p:dialog id="dialogo" header="Datos" widgetVar="apadrinadoDialog" resizable="false"
                      width="600" modal="true" closable="false" styleClass="dialogoNormal">
                <p:panel id="display">
                    <table>
                        <tr>
                            <td>
                                <h:outputText value="Nombre:" styleClass="texto"/> 
                            </td>
                            <td>
                                <p:inputText value="#{listado_Apadrinado.apadrinado.nombre}" readonly="#{!listado_Apadrinado.editar}" styleClass="textoI"/> 
                            </td>
                            <td>
                                <h:outputText value="Apellidos:" styleClass="texto"/> 
                            </td>
                            <td>
                                <p:inputText value="#{listado_Apadrinado.apadrinado.apellidos}" readonly="#{!listado_Apadrinado.editar}" styleClass="textoI"/>  
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <h:outputText value="Fecha de nacimiento:" styleClass="texto"/> 
                            </td>
                            <td style="width: 20px;">
                                <p:calendar showOn="button" navigator="true" disabled="#{!listado_Apadrinado.editar}" pattern="dd/MM/yyyy"
                                            value="#{listado_Apadrinado.apadrinado.fechaNacimiento}" size="9"/> 
                            </td>
                            <td>
                                <h:outputText value="Número de hermanos:" styleClass="texto"/> 
                            </td>
                            <td>
                                <p:inputText value="#{listado_Apadrinado.apadrinado.NHermanos}" readonly="#{!listado_Apadrinado.editar}" styleClass="textoI"/> 
                            </td>                            
                        </tr>
                        <tr>
                            <td>
                                <h:outputText value="Datos de los padres:" styleClass="texto"/> 
                            </td>
                            <td colspan="3">
                                <p:inputTextarea value="#{listado_Apadrinado.apadrinado.datosPadres}" readonly="#{!listado_Apadrinado.editar}"
                                                 styleClass="textoI" autoResize="false" style="width: 440px !important;"/>  
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <h:outputText value="Descripcion:" styleClass="texto"/>
                            </td>
                            <td colspan="3">
                                <p:inputTextarea value="#{listado_Apadrinado.apadrinado.descripcion}" readonly="#{!listado_Apadrinado.editar}" 
                                                 styleClass="textoI" autoResize="false" style="width: 440px !important;"/>
                            </td>
                        </tr>
                    </table>                    

                    <p:panel style="margin-top: 10px;">
                        <h:outputText value="Proyecto al que pertenece: " styleClass="texto"/>
                        <h:outputText value="#{listado_Apadrinado.apadrinado.proyecto.nombre}" styleClass="texto2"/>
                    </p:panel>

                    <p:panel style="margin-top: 10px;">
                        <h:panelGrid columns="2">
                            <h:outputText value="DNI del padrino: " styleClass="texto"/>
                            <h:outputText value="#{listado_Apadrinado.apadrinado.personaDNI.dni}" styleClass="texto2"/>
                            <h:outputText value="Nombre del padrino: " styleClass="texto"/>
                            <h:outputText value="#{listado_Apadrinado.apadrinado.personaDNI.nombre}" styleClass="texto2"/>
                        </h:panelGrid>
                    </p:panel>                   
                </p:panel>
                <p:commandButton value="Aceptar" action="#{listado_Apadrinado.aceptar}" oncomplete="crearMensaje(xhr, status, args)"
                                 style="margin-top: 10px;" styleClass="botonGrande"/>
            </p:dialog>

            <!--Dialogo de confirmación que indica que el apadrinado se ha modificado correctamente -->
            <p:confirmDialog message="El apadrinado ha sido modificado correctamente" severity="info" widgetVar="msgModif" modal="true"
                             styleClass="dialogoGrande"/>

            <!--Dialogo de confirmación que indica que el apadrinado no ha sido modificado-->
            <p:confirmDialog message="El apadrinado no ha sido modificado" severity="info" widgetVar="msgNoModif" modal="true"
                             styleClass="dialogoGrande"/>

            <!--Dialogo que indica que faltan datos obligatorios-->
            <p:confirmDialog message="Faltan datos. Compruebe el nombre y apellidos" severity="info" widgetVar="faltanDatos" modal="true"
                             styleClass="dialogoGrande"/>

            <!-- Dialogo de confirmación que preguntará si se desea borrar un apadrinado o no-->
            <p:confirmDialog message="¿Estas seguro de que desea borrarle?" severity="alert"
                             header="Iniciar borrado" widgetVar="cd" width="400" modal="true" closable="false" styleClass="dialogoNormal">
                <p:commandButton value="Si" action="#{listado_Apadrinado.borrar}" oncomplete="crearMensaje(xhr, status, args)"
                                 update="panel" styleClass="botonGrande"/>
                <p:commandButton value="No" onclick="cd.hide()" styleClass="botonGrande"/>                
            </p:confirmDialog>
            <!-- Dialogo de confirmación que indica que el apadrinado ha sido borrado correctamente-->
            <p:confirmDialog message="El apadrinado ha sido borrado correctamente" severity="info" widgetVar="msgBorrado" modal="true" styleClass="dialogoGrande"/>

            <!--Dialogo de confirmación que indica que el apadrinado no ha sido borrado correctamente -->
            <p:confirmDialog message="El apadrinado no se puede borrar porque el proyecto asociado se quedaria sin apadrinados" 
                             severity="info" widgetVar="msgNoBorradof" modal="true" styleClass="dialogoGrande"/>
        </h:form>
    </h:body>
</html>